//------------------------------------------------------------------------------
// <copyright company="Telligent Systems">
//     Copyright (c) Telligent Systems Corporation.  All rights reserved.
// </copyright> 
//------------------------------------------------------------------------------

using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;

using CommunityServer;
using CommunityServer.Components;
using CommunityServer.Controls;


namespace CommunityServer.Controls
{
	/// <summary>
	/// Summary description for PasswordRecoveryRadioButtonList.
	/// </summary>
	[DefaultProperty("Text"), 
		ToolboxData("<{0}:PasswordRecoveryRadioButtonList runat=server></{0}:PasswordRecoveryRadioButtonList>")]
	public class PasswordRecoveryRadioButtonList : RadioButtonList
	{
		public PasswordRecoveryRadioButtonList() {
			// only add email support if the admin has enabled email support and the users' password is stored in clear text.
			// if the user's password is hashed
//			if( CSContext.Current.SiteSettings.EnableEmail && 
//				CSContext.Current.User.PasswordFormat == Microsoft.ScalableHosting.Security.MembershipPasswordFormat.Clear ) {
//				this.Items.Add( new ListItem( ResourceManager.GetString("MemberSettings_RecoveryMode_Email"), PasswordRecovery.Email.ToString() ));
//			}
            this.Items.Add(new ListItem(ResourceManager.GetString("MemberSettings_RecoveryMode_Reset"), CommunityServer.Components.PasswordRecovery.Reset.ToString()));
            //this.Items.Add(new ListItem(ResourceManager.GetString("MemberSettings_RecoveryMode_Question"), CommunityServer.Components.PasswordRecovery.QuestionAndAnswer.ToString()));
            this.Items.Add(new ListItem(ResourceManager.GetString("MemberSettings_RecoveryMode_Link"), CommunityServer.Components.PasswordRecovery.SecureLink.ToString()));
		}

        public new CommunityServer.Components.PasswordRecovery SelectedValue
        {
            get { return (CommunityServer.Components.PasswordRecovery)Enum.Parse(typeof(CommunityServer.Components.PasswordRecovery), base.SelectedValue); }
			set
			{
                ListItem li = this.Items.FindByValue(value.ToString());
                if(li != null)
                    li.Selected = true;
                else
                {
                    li = this.Items.FindByValue(CommunityServer.Components.PasswordRecovery.SecureLink.ToString());
                    if(li != null)
                        li.Selected = true;
                }

			   
			}
		}

	}
}
